The multi-core system is operable to execute concurrently executable programs by different cores at a time. A plurality of programs can be executed by different cores at a time if there is no dependency between pieces of data handled by the respective programs. If there is data dependency, the program referring to dependent data is required to wait to start the execution until the execution of the program that writes the dependent data is completed. Therefore, there occurs idle time to complete the execution, thereby causing reduction of parallelism of the multi-core system.
Japanese Laid-open Patent Publication No. 06-89188 discloses an automatic parallelization processing system that parallelizes loops, which requires guarantee of final values of local data in micro tasks, without exclusive control or synchronous control by the automatic parallelization function of a compiler to control the overhead, thus improving the processing efficiency of the entire program.
Japanese Laid-open Patent Publication No. 11-120156 discloses a data communication system in a multi-processor system that includes a plurality of processors and a plurality of storages, and particularly discloses a system that sends and receives split data via a communication buffer.